home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Compute! Gazette 1989 November
/
1989-11.d64
/
flash card
(
.txt
)
< prev
next >
Wrap
Commodore BASIC
|
2022-09-20
|
4KB
|
170 lines
10 poke53280,6:poke53281,15
20 print"[147]":printtab(12)"copyright 1989"
30 printtab(6)"compute! publications, inc."
40 printtab(10)"all rights reserved"
50 for x=1to2000:next
60 gosub1080:goto1260
70 printchr$(147)
80 a$="flash":z=va+81:gosub1110
90 a$="card":z=va+321:gosub1110
100 fori=1to13:print:nexti
110 printtab(13)"1. "p$(1)
120 printtab(13)"2. "p$(2)
130 printtab(13)"3. "p$(3)
140 printtab(13)"4. "p$(4)
150 printtab(13)"5. "p$(5):print
160 getj$:ifj$<>""then160
170 i=0:printtab(13)p$(6);:inputi
180 ifi<1ori>5then170
190 onigoto200,210,220,230,240
200 it=43:p=1:goto700
210 it=45:p=2:goto700
220 it=42:p=3:goto570
230 it=47:p=4:goto570
240 end
250 hn=ha-la+1
260 tn=int(rnd(0)*(ha-la+1))+la
270 bn=int(rnd(0)*(ha-la+1))+la
280 ifaz(tn,bn)=1then260
290 az(tn,bn)=1:ay=ay+1
300 ifit=43thenan=tn+bn
310 ifit=45thenna=tn+bn:an=tn:tn=na
320 ifit=42thenan=tn*bn
330 ifit=47thenna=tn*bn:an=tn:tn=na
340 ifan>int(an)then370
350 ifan>9ortn>9orbn>9thenli=1
360 gosub810
370 ifay=(hn)*(hn)thengoto1200
380 li=0:goto260
390 s=0
400 ifs=1then440
410 tn=int(rnd(0)*(nh-nl+1))+nl
420 bn=ha
430 ifs=0then460
440 tn=ha
450 bn=int(rnd(0)*(nh-nl+1))+nl
460 ifaz(tn,bn)=1then530
470 az(tn,bn)=1:ay=ay+1
480 ifit=42thenan=tn*bn
490 ifit=47thenna=tn*bn:an=tn:tn=na
500 li=1:gosub810
510 ifit=42anday=19then10
520 ifit=47anday=10then10
530 s=s+1
540 ifit=47then390
550 ifs>1then390
560 goto400
570 gosub1240
580 printtab(10)"1. select range"
590 print:printtab(10)"2. practice tables":print
600 getj$:ifj$<>""then600
610 i=0:printtab(10)p$(6);:inputi
620 ifi<1ori>2then570
630 ifi=1then700
640 gosub1240
650 print:printtab(05)"for tables "p$(6):print
660 getj$:ifj$<>""then660
670 ha=0:printtab(05)"from";nl;"to";nh;:inputha
680 ifha<nlorha>nhthen570
690 goto390
700 gosub1240
710 printtab(5)"flash card will randomly display"
720 print:printtab(5)"all combinations in a range"
730 print:printtab(5)"of difficulty from";nl;"to";nh
740 getj$:ifj$<>""then740
750 print:printtab(5)"highest number";:inputha
760 ifha<nlorha>nhthen740
770 print:printtab(5)"lowest number ";:inputla
780 ifla<nlorla>nhthen770
790 ifla>hathen700
800 goto250
810 printchr$(147)
820 iftn<10then880
830 iftn<100then860
840 a=int(tn/100)+48:x=va+090
850 tn=tn-((a-48)*100):gosub1150
860 a=int(tn/10)+48:x=va+095
870 tn=tn-((a-48)*10):gosub1150
880 a=tn+48:x=va+100:gosub1150
890 ifbn<10then920
900 a=int(bn/10)+48:x=va+375
910 bn=bn-((a-48)*10):gosub1150
920 a=bn+48:x=va+380:gosub1150
930 a=it:x=va+368:gosub1150
940 ifli<1then960
950 a=28:x=va+614:gosub1150
960 a=28:x=va+619:gosub1150
970 getj$:ifj$<>""then970
980 geta$:ifa$=""thengoto980
990 ifan<10then1050
1000 ifan<100then1030
1010 a=int(an/100)+48:x=va+730
1020 an=an-((a-48)*100):gosub1150
1030 a=int(an/10)+48:x=va+735
1040 an=an-((a-48)*10):gosub1150
1050 a=an+48:x=va+740:gosub1150
1060 getj$:ifj$<>""then1060
1070 geta$:ifa$=""thengoto1070
1080 gosub1240
1090 printtab(13)"please wait ..."
1100 fori=1to500:nexti:return
1110 fori=1tolen(a$)
1120 a=asc(mid$(a$,i,1))-64
1130 x=z+(i*6):gosub1150
1140 nexti:return
1150 cm=gm+(a*64):w=peek(cm):k=1
1160 form=xtox+w-1
1170 forn=mtom+40*(h-1)step40
1180 poken+cc,c:poken,peek(cm+k):k=k+1
1190 nextn:nextm:return
1200 fortn=nltonh:forbn=nltonh
1210 az(tn,bn)=0:nextbn:nexttn
1220 ay=0:goto70
1230 ay=0:goto70
1240 printchr$(147):printtab(15)p$(p)
1250 fori=1to5:print:nexti:return
1260 poke 650,128:poke 56,128:clr
1270 va=1024:cc=55296-va:gm=36864
1280 c=2:h=5:dimaz(50,50):diml$(64)
1290 g(0)=32:g(1)=160:g(2)=98:g(3)=226
1300 g(4)=223:g(5)=105:g(6)=95:g(7)=233
1310 g(8)=97:g(9)=225:g(10)=100
1320 p$(1)="addition":p$(2)="subtraction"
1330 p$(3)="multiplication":p$(4)="division"
1340 p$(5)="exit":p$(6)="select a number"
1350 nl=1:nh=10
1360 l$(1)="3711101010041110"
1370 l$(3)="3711601001010010"
1380 l$(4)="3111101001041150"
1390 l$(6)="3111101230012300"
1400 l$(8)="3111100230011110"
1410 l$(12)="3111100001000010"
1420 l$(18)="3111101016041540"
1430 l$(19)="3713101231012150"
1440 l$(28)="51000010000100001000010000"
1450 l$(42)="446750045000760075460"
1460 l$(43)="50010000100111110010000100"
1470 l$(45)="50010000100001000010000100"
1480 l$(47)="50230002300123100230002300"
1490 l$(48)="411111100011000111111"
1500 l$(49)="407001711118888100008"
1510 l$(50)="475071107511750145001"
1520 l$(51)="410101101011010111111"
1530 l$(52)="411100001000010011111"
1540 l$(53)="411101101011010110111"
1550 l$(54)="411111101011010110111"
1560 l$(55)="410000100001000011111"
1570 l$(56)="411111101011010111111"
1580 l$(57)="411101101011010111111"
1590 l$(61)="401010010100101001010"
1600 y=-1
1610 fori=0to4032step64
1620 y=y+1:ifval(l$(y))=0then1690
1630 xy=val(mid$(l$(y),1,1))
1640 pokegm+i,xy
1650 forz=2tolen(l$(y))
1660 xy=val(mid$(l$(y),z,1))
1670 pokegm+i+z-1,g(xy)
1680 nextz
1690 nexti:goto70